package com.yserp.project.erp.store.outstorelog.domain;

import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yserp.framework.aspectj.lang.annotation.Excel;
import com.yserp.framework.web.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 出库日志对象 erp_stock_out_log
 *
 * @author yserp
 * @date 2022-07-14
 */
@TableName("erp_stock_out_log")
@Data
public class StockOutLog extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 入库类型
     */
    @Excel(name = "出库类型")
    private String outType;

    /**
     * 批次号
     */
    @Excel(name = "批次号")
    private String batchNo;

    /**
     * 订单主键ID
     */
    @Excel(name = "订单主键ID")
    private Long orderId;

    /**
     * 订单号
     */
    @Excel(name = "订单号")
    private String orderCode;

    /**
     * 商品主键
     */
    @Excel(name = "商品主键")
    private Long goodId;

    /**
     * 商品编码
     */
    @Excel(name = "商品编码")
    private String goodCode;

    /**
     * 商品名称
     */
    @Excel(name = "商品名称")
    private String goodName;

    /**
     * 商品单位
     */
    @Excel(name = "商品单位")
    private String goodUnit;

    /**
     * 商品单位
     */
    @Excel(name = "商品单位描述")
    private String goodUnitDesc;

    /**
     * 出库数量
     */
    @Excel(name = "出库数量")
    private BigDecimal outNum;

    /**
     * 出库时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date outTime;

    /**
     * 客户主键ID
     */
    @Excel(name = "客户主键ID")
    private Long customerId;

    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    private String customerName;

    /**
     * 仓库主键ID
     */
    @Excel(name = "仓库主键ID")
    private Long warehouseId;

    /**
     * 仓库名称
     */
    @Excel(name = "仓库名称")
    private String warehouseName;

    /**
     * 承运商ID
     */
    @Excel(name = "承运商ID")
    private Long carriersId;

    /**
     * 承运商名称
     */
    @Excel(name = "承运商名称")
    private String carriersName;

    /**
     * 包装规格
     */
    @Excel(name = "包装规格")
    private String packageUnit;

    /**
     * 包装数量
     */
    @Excel(name = "包装数量")
    private Long packageNum;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @TableLogic
    private String delFlag;
}
